PHLEGM v9 r66 - SNES Mode 7 / HDMA data-driven throughput update
===================================================================

Starting point: PHLEGM v9 r65 Full Archive Set (Commodore Speed Presenter).
No game-specific, ROM-specific or ActRaiser-specific conditions were added.

1. SNES PPU acceleration is a compiled PPU_SNES_RASTER operation defined in
   cfg/support/ppu/SNES-PPU/accelerator-microcode.config.phlegm:

       PPU_SNES_RASTER 341 262 224 256 278 6

   Operands: dots/scanline, scanlines/frame, captured visible scanlines,
   raster-capture dot, HDMA dot and HDMA frame-initialization dot.
   The operation is compiled at machine load, not during executable build.
   Native backend validates that supplied geometry matches its observable
   edges before allowing the machine to run. The optimized clock path only
   advances entirely within a scanline without crossing H-IRQ, frame init,
   capture or HDMA. All edge-producing batches use the original full native
   event walker, preserving cycle-visible state and trace hooks.

2. Each HDMA transfer mode's ordered B-bus register offsets are data in
   cfg/support/snes-io/DMA/hdma-transfer-modes.config.phlegm. The DMA support
   descriptor declares this source via transfer_modes_file. Machine load
   validates all eight modes, destinations, lengths and unique IDs before
   compiling compact numerical offset tables. The HDMA per-byte hot loop
   now reads compiled offsets directly; real bus read/write behavior and
   trace behavior are unchanged. Missing or malformed definitions fail load.

3. The host-only SNES raster 16x256 brightness/color palette is memoized.
   Rendering checks the 512-byte CGRAM source, rebuilding only if changed.
   This remains correct across DMA VRAM/CGRAM updates, reboots and session
   restores without relying on invalidation flags. Per-row Mode 7 matrix,
   offset, repeat/flip semantics, fixed-point math, sprite processing,
   native raster dimensions and GPU scaling remain as in r65.

4. Diagnostic counters acceleratorFastCycles and acceleratorNativeCycles
   now distinguish clock time handled by the configured SNES event-free
   path from time dispatched through the full event walker.

VALIDATION
----------
- Run tests/SNES-Mode7-HDMA-Data-Accelerators-r66.Tests.sh plus existing
  SNES-HDMA-Scanline-r48, PPU-Mode7-VRAM-r21 and other static tests.
- Native FreeBASIC compiler/emulator and ActRaiser ROM were unavailable in
  the packaging environment; compilation, parity with real hardware and
  FPS gains have NOT been verified here. Do not claim specific speedups.
- On Windows x86/x64 + D3D11/OpenGL and Linux x86/x86_64 + OpenGL/Vulkan,
  compare ActRaiser real-time percentage (RT), FPS, FS, COREDUMP PROFILE
  with r65 using the same ROM, window size and enabled diagnostics.
- Verify H-IRQ, VBLANK/NMI, frame-initialization H6, scanline capture H256,
  HDMA H278, Mode 7 transforms, transfer directions and indirect DMA.
- Do not ship ROMs or firmware. Build from definitions and full source.
